Skip to main content

Vehicle Take Ownership

Detailed description of API:

Interface currently available for DMS development in:

  • NAFTA

Version & Updates​

VersionRevision DateRevision History
1.022 Oct 2026New Release

Overview​

The Vehicle Ownership APIs enable Dealer Management Systems (DMS) to integrate with SAP via DEP for managing the complete vehicle ownership lifecycle.

These APIs support:

  • Ownership Request Tracking
  • Take Ownership Request
  • Give Ownership Request
  • Ownership Approval Workflow
  • Ownership Rejection Processing
  • Dealer Visibility Validation
  • Rejection Reason Retrieval
Pre-requisites
  • Dealer must use Dealer Portal credentials to authorize API calls.
  • A valid DEP Subscription Key is required.
  • Each subscription key is unique to the environment.
  • The request must include the appropriate Content-Type header.
Authentication
  • DMS authentication is handled by the DEP-Ext team.
  • The PPT specifies User ID, Password, and Subscription Key for DEP authentication.
  • Confirm the required authentication headers and credential configuration with the DEP-Ext team.
  • All API calls must be made over HTTPS.

API Format​

  • REST

The DEP takes care of message routing and transformations between the DMS application and SAP backend services.

Connection Details​

For Vehicle Ownership there are 6 API types offered:

  • Ownership Request List
  • Visibility
  • Notified Dealer List
  • Request Take/Give Ownership
  • Action on Request
  • Retrieve Rejection Reasons

CNH provides two environments:

  • CERT / UAT
  • Production

The environments are intended to provide the same functionality, with environment-specific endpoints and credentials.

High-Level Integration Approach​

  1. The DMS sends a connection request to the DEP-Ext team.
  2. The DEP-Ext team handles authentication.
  3. DEP-Ext receives the request and forwards it to eWarranty/SAP.
  4. The eWarranty/SAP team processes the request and returns the response or status code to DEP-Ext.
  5. DEP-Ext returns the response or status code to the DMS.

1. Ownership Request List and Counter API​

This API retrieves ownership requests previously sent and received by a dealer. It can also return the number of requests that remain in Pending status and are awaiting action from the logged-in dealer.

EnvironmentURLAPIRequest Type
CERT/UAThttps://{base_url}/external/services/vehicleownership/requestlistandcounterRESTPOST
Productionhttps://{base_url}/external/services/vehicleownership/requestlistandcounterRESTPOST

Request Description​

NameData TypeDescription / RemarksIs RequiredSample Data
languageStringLanguage linked to the logged-in dealerYesEN
userStringUser name of the logged-in dealerYesUSER001
dealerStringDealer linked to the userYesDEALER001
counterFlag(*)StringIf flagged, returns the count of requests in Pending statusNoX
listFlag(*)StringIf flagged, extracts all request informationNoX
  • (*) Mutually exclusive fields.

Request body format: JSON.

Sample JSON payload:

{
"language": "EN",
"user": "USER001",
"dealer": "DEALER001",
"counterFlag": "X",
"listFlag": ""
}

Response Description​

NameData TypeDescription / RemarksSample Data
messageidStringSuccess or error message identifier
messagetextStringText describing the result
counterrequestStringNumber of pending requests
tablerequestlistObject ArrayTable of requests
tablerequestlist.o_vinStringVehicle Internal Number of the vehicleVIN000000000000001
tablerequestlist.o_req_dateStringDate the request was created
tablerequestlist.o_statusStringStatus of the request: approved, rejected, or pendingAPPROVED
tablerequestlist.o_req_dealerStringDealer that created the requestDEALER003
tablerequestlist.o_req_dlr_nameStringName of the requesting dealerSAMPLE DEALER A
tablerequestlist.o_notified_dlrStringDealer that received the request
tablerequestlist.o_notified_dlr_nameStringName of the notified dealer
tablerequestlist.o_req_typeStringType of ownership request
tablerequestlist.o_rej_reasonStringRejection reason, if the request was rejected
tablerequestlist.o_rej_reas_txtStringText describing the rejection reason
tablerequestlist.o_last_chng_datStringDate of the last change

2. Visibility of Take/Give Ownership​

This API identifies whether the Take Ownership or Give Ownership action should be available for a specific vehicle and dealer.

EnvironmentURLAPIRequest Type
CERT/UAThttps://{base_url}/external/services/vehicleownership/visibilitytakeandgiveownershipRESTGET
Productionhttps://{base_url}/external/services/vehicleownership/visibilitytakeandgiveownershipRESTGET

Request Description​

NameData TypeDescription / RemarksIs RequiredSample Data
languageStringLanguage linked to the logged-in dealerYesEN
userStringUser name of the logged-in dealerYesUSER001
vinStringVehicle Identification NumberYesVIN000000000000002
dealerStringDealer code linked to the userYesDEALER002

Request body format: JSON.

Illustrative sample JSON payload; confirm against the API specification:

{
"language": "EN",
"user": "USER001",
"vin": "VIN000000000000002",
"dealer": "DEALER002"
}

Response Description​

NameData TypeDescription / RemarksSample Data
messageidStringSuccess or error message identifierE
messagetextStringText describing the resultVehicle found on the system
giveownershipflagStringIndicates whether Give Ownership should be availableX
takeownershipflagStringIndicates whether Take Ownership should be available

3. Notified Dealer List API​

This API retrieves the list of dealers available for the Give Ownership functionality.

EnvironmentURLAPIRequest Type
CERT/UAThttps://{base_url}/external/services/vehicleownership/dealernotificationRESTGET
Productionhttps://{base_url}/external/services/vehicleownership/dealernotificationRESTGET

Request Description​

NameData TypeDescription / RemarksIs RequiredSample Data
languageStringLanguage linked to the logged-in dealerYesEN
userStringUser name of the logged-in dealerYesUSER001
vinStringVehicle Identification NumberYesVIN000000000000002
dealer(*)StringDealer code linked to the userYesDEALER001
dealerName(*)StringDealer nameNoSAMPLE DEALER B
country(*)StringCountry of the dealerNoUS
city(*)StringCity of the dealerNoSAMPLE CITY
  • (*) Mutually exclusive fields.

Request body format: JSON.

Illustrative sample JSON payload; confirm against the API specification:

{
"language": "EN",
"user": "USER001",
"vin": "VIN000000000000002",
"dealer": "DEALER001",
"dealerName": "SAMPLE DEALER B",
"country": "US",
"city": "SAMPLE CITY"
}

Response Description​

NameData TypeDescription / RemarksSample Data
messageIdStringSuccess or error message identifierS
messageTextStringText describing the resultOne or more dealer found
tableDealersObject ArrayTable of dealers
tableDealers.oKunnrStringDealer code linked to the userDEALER001
tableDealers.oNameStringDealer nameSAMPLE DEALER B
tableDealers.oLandStringCountry of the dealerUS
tableDealers.oCityStringCity of the dealerSAMPLE CITY

4. Request Take/Give Ownership API​

This API submits a new Take Ownership or Give Ownership request.

  • Take Ownership: A dealer wants to become the service dealer for a vehicle.
  • Give Ownership: A dealer wants to transfer ownership of a vehicle to another dealer.
EnvironmentURLAPIRequest Type
CERT/UAThttps://{base_url}/external/services/vehicleownership/takeorgiveownershipRESTPOST
Productionhttps://{base_url}/external/services/vehicleownership/takeorgiveownershipRESTPOST

Request Description​

NameData TypeDescription / RemarksIs RequiredSample Data
languageStringLanguage linked to the logged-in dealerYesEN
userStringUser name of the logged-in dealerYesUSER001
dealerStringDealer code linked to the userYesDEALER001
giveOwnershipFlagStringIdentifies a Give Ownership scenarioYesX
takeOwnershipFlagStringIdentifies a Take Ownership scenarioNo
tableVehicleInfoObject ArrayTable with vehicle informationYes
tableVehicleInfo.vinStringVehicle Identification NumberYesVIN000000000000003
tableVehicleInfo.notifiedDealerStringNotified dealer in a Give Ownership scenarioYesDEALER002

Request body format: JSON.

Illustrative sample JSON payload; confirm the final vehicle-information array format with the API team:

{ 

"language": "EN",
"user": "USER001",
"dealer": "DEALER003",
"giveOwnershipFlag": "X",
"takeOwnershipFlag": "",
"tableVehicleInfo": [
{
"vin": "VIN000000000000001",
"notifiedDealer": "DEALER002"
}
]
}

Response Description​

NameData TypeDescription / RemarksSample Data
message_idStringSuccess or error message identifier
messageTextStringText describing the result
vinStringVehicle Identification Number

5. Action on Request API​

This API allows a dealer to perform an action on a specific ownership request:

  • Approve a request.
  • Reject a request.
  • Revoke a pending request.
EnvironmentURLAPIRequest Type
CERT/UAThttps://{base_url}/external/services/vehicleownership/actiononrequestRESTPOST
Productionhttps://{base_url}/external/services/vehicleownership/actiononrequestRESTPOST

Request Description​

NameData TypeDescription / RemarksIs RequiredSample Data
languageStringLanguage linked to the logged-in dealerYesEN
userStringUser name of the logged-in dealerYesUSER001
tableActionsObject ArrayTable with actionsYes
tableActions.vinStringVehicle Internal Number of the vehicleYesVIN000000000000002
tableActions.flagApproveStringIndicates approval of a requestNoX
tableActions.flagRejectStringIndicates rejection of a requestNo
tableActions.flagRevokeStringIndicates revocation of a pending requestNo
tableActions.rejectionReasonStringRejection reason when a request is rejectedNo
tableActions.rejectionReasonTextStringText describing the rejection reasonNo

Request body format: JSON.

Illustrative sample JSON payload; confirm the final actions array name and structure with the API team:

{
"language": "EN",
"user": "USER001",
"tableActions": [
{
"vin": "VIN000000000000001",
"flagApprove": "X",
"flagReject": "",
"flagRevoke": "",
"rejectionReason": "",
"rejectionReasonText": ""
}
]
}

Response Description​

NameData TypeDescription / RemarksSample Data
vinStringVehicle Identification NumberVIN000000000000002
resultStringResult of the action: OK or KOOK
messagetextStringText describing the resultAction correctly updated

6. Retrieve Rejection Reasons API​

This API retrieves the list of possible rejection reasons that a dealer can use when rejecting an ownership request.

EnvironmentURLAPIRequest Type
CERT/UAThttps://{base_url}/external/services/vehicleownership/retrieverejectionreasonRESTGET
Productionhttps://{base_url}/external/services/vehicleownership/retrieverejectionreasonRESTGET

Request Description​

NameData TypeDescription / RemarksIs RequiredSample Data
languageStringLanguage linked to the logged-in dealerYesEN

Request body format: JSON.

Illustrative sample JSON payload; confirm against the API specification:

{
"language": "EN"
}

Response Description​

NameData TypeDescription / RemarksSample Data
messageidStringSuccess or error message identifierS
messagetextStringText describing the resultOne or more Reason found
tablerejectionreasonsObject ArrayTable of rejection reasons
tablerejectionreasons.reje_reas_codeStringCode of the rejection reasonREJ001
tablerejectionreasons.reje_reas_descrStringDescription of the rejection reasonMissing Documentation

References​

  • eWarranty Take Vehicle Ownership / DEP Integration — Functional and Technical Requirements, March 13, 2026.
  • DEP-Ext and eWarranty/SAP API implementation specifications.